package com.example.hangzhou.welbeing.tenguoleshenhuo.main;


import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.TextView;

import com.example.hangzhou.welbeing.tenguoleshenhuo.R;
import com.example.hangzhou.welbeing.tenguoleshenhuo.Statistical.StatisticalActivity;
import com.example.hangzhou.welbeing.tenguoleshenhuo.base.BaseActivity;
import com.example.hangzhou.welbeing.tenguoleshenhuo.main.persenter.MainTestPersenter;
import com.example.hangzhou.welbeing.tenguoleshenhuo.main.view.IMainView;
import com.example.hangzhou.welbeing.tenguoleshenhuo.utils.ToastUtil;
import com.example.hangzhou.welbeing.tenguoleshenhuo.utils.Utils;

import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends BaseActivity implements IMainView {


    @Bind(R.id.activity_main_iv_personal)
    ImageView activityMainIvPersonal;
    @Bind(R.id.activity_main_iv_statistical)
    ImageView activityMainIvStatistical;
    @Bind(R.id.activity_main_begin_test)
    TextView activityMainBeginTest;

    private MainTestPersenter mainTestPersenter = new MainTestPersenter(this);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        Utils.setStatusBar(this, false, false);
        Utils.setStatusTextColor(true, this);
    }

    /**
     * @desc 界面可见 刷新变量  注册
     * @desc 一些变量的需要在界面可见的时候重新赋值
     * 比如 : recyclerview 的分页在activity的界面不可见又重新可见的时候需而分页的p对应的数据为空的时候要在这个方法里对p重新赋值
     * @desc 在activity对应 onStart()方法------>界面可见
     */
    @Override
    protected void refreshVariable() {

    }

    /**
     * @desc 界面可见  失去焦点  存储数据
     * @desc 界面可见但是不能点击交互的时候调用的方法
     * @desc 可以用来存储一些临时小量的数据
     * @desc 在activity 中对应onPause()---> 界面可见  失去焦点
     */
    @Override
    protected void DataStored() {

    }

    /**
     * @desc 界面不可见 解注册 资源回收
     * @desc 对应 activity的onStop()方法
     * @desc 在这个方法解除一些监听的引用和释放一些资源
     */
    @Override
    protected void solutionRegister() {

    }

    /**
     * @desc Activity 销毁 释放资源
     * @desc 对应activity的onDestroy()方法
     * @desc 在这个方法给activity的引用赋值为null防止activity被杀死了但是activity里面的引用还没释放导致垃圾回收不了，导致内存溢出和泄露等等
     */
    @Override
    protected void releaseResources() {

    }

    // TODO 跳转到个人中心页面
    @Override
    public void toPersonalCenter() {
        /*Intent intent = new Intent(MainActivity.this, PersonalCenterActivity.class);
        startActivity(intent);*/
        // TODO 弹框提示
        playPopup();


    }

    // TODO 跳转到统计页面
    @Override
    public void toStatisticalPager() {
        Intent intent = new Intent(MainActivity.this, StatisticalActivity.class);
        startActivity(intent);
        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

    }

    //TODO 开始测试
    @Override
    public void beginTesting() {

    }

    // TODO 停止测试
    @Override
    public void stopTesting() {

    }

    // TODO 显示进度
    @Override
    public void showProgress() {

    }

    // TODO 隐藏进度
    @Override
    public void hideProgress() {

    }

    // TODO 给出提示
    @Override
    public void showPrompt(String str) {
        ToastUtil.showShort(MainActivity.this, str);
    }

    // TODO 获取开始测试的文本内容
    @Override
    public String getbeginText() {
        return null;
    }

    @OnClick({R.id.activity_main_iv_personal, R.id.activity_main_iv_statistical, R.id.activity_main_begin_test})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.activity_main_iv_personal:
                mainTestPersenter.PersonalCenterPage();
                break;
            case R.id.activity_main_iv_statistical:
                mainTestPersenter.StatisticalPager();
                break;
            case R.id.activity_main_begin_test:
                mainTestPersenter.start();
                break;
        }
    }
    // TODO 弹框提示
    private void playPopup() {
        PopupWindow popupWindow =new PopupWindow(MainActivity.this);
        popupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
        popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
        popupWindow.setContentView(LayoutInflater.from(this).inflate(R.layout.layout_popupwindow_style,null));
        popupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
        popupWindow.setOutsideTouchable(false);
        popupWindow.setFocusable(true);
        popupWindow.setAnimationStyle(R.style.AnimBottom);
        View rootview = View.inflate(MainActivity.this,R.layout.activity_main,null);
        popupWindow.showAtLocation(rootview,  Gravity.CENTER,0,0);
    }
}
